/**
 * Alipay.com Inc.
 * Copyright (c) 2004-2013 All Rights Reserved.
 */
package com.pingan.mobilegw.core.model.comm;

import com.pingan.mobilegw.adapterservice.MobileContext;
import com.pingan.mobilegw.core.model.GatewayRequest;
import com.pingan.mobilegw.core.model.ServiceConfig;

/**
 * 请求对象
 * 
 * @author lzhe.li
 * @version $Id: TargetRequestObject.java, v 0.1 2013-1-10 下午04:02:56 lzhe.li Exp $
 */
public class TargetRequestObject {

    /** 请求的唯一id */
    private String         uniqueId;

    /** 请求的路由信息及附加参数 */
    private MobileContext  mobileContext;

    /** 请求内容的json串 */
    private String         requestData;

    /** 服务配置 */
    private ServiceConfig  serviceConfig;

    private GatewayRequest gatewayRequest;

    /**
     * Getter method for property <tt>serviceConfig</tt>.
     * 
     * @return property value of serviceConfig
     */
    public ServiceConfig getServiceConfig() {
        return serviceConfig;
    }

    /**
     * Setter method for property <tt>serviceConfig</tt>.
     * 
     * @param serviceConfig value to be assigned to property serviceConfig
     */
    public void setServiceConfig(ServiceConfig serviceConfig) {
        this.serviceConfig = serviceConfig;
    }

    /**
     * Getter method for property <tt>uniqueId</tt>.
     * 
     * @return property value of uniqueId
     */
    public String getUniqueId() {
        return uniqueId;
    }

    /**
     * Setter method for property <tt>uniqueId</tt>.
     * 
     * @param uniqueId value to be assigned to property uniqueId
     */
    public void setUniqueId(String uniqueId) {
        this.uniqueId = uniqueId;
    }

    /**
     * Getter method for property <tt>mobileContext</tt>.
     * 
     * @return property value of mobileContext
     */
    public MobileContext getMobileContext() {
        if (mobileContext == null) {
            mobileContext = new MobileContext();
        }
        return mobileContext;
    }

    /**
     * Setter method for property <tt>mobileContext</tt>.
     * 
     * @param mobileContext value to be assigned to property mobileContext
     */
    public void setMobileContext(MobileContext mobileContext) {
        this.mobileContext = mobileContext;
    }

    /**
     * Getter method for property <tt>requestData</tt>.
     * 
     * @return property value of requestData
     */
    public String getRequestData() {
        return requestData;
    }

    /**
     * Setter method for property <tt>requestData</tt>.
     * 
     * @param requestData value to be assigned to property requestData
     */
    public void setRequestData(String requestData) {
        this.requestData = requestData;
    }

    /**
     * Getter method for property <tt>gatewayRequest</tt>.
     * 
     * @return property value of gatewayRequest
     */
    public GatewayRequest getGatewayRequest() {
        return gatewayRequest;
    }

    /**
     * Setter method for property <tt>gatewayRequest</tt>.
     * 
     * @param gatewayRequest value to be assigned to property gatewayRequest
     */
    public void setGatewayRequest(GatewayRequest gatewayRequest) {
        this.gatewayRequest = gatewayRequest;
    }

}
